
# ------------------------------------------------------------------------------------------
# # 新手入门
#
# 主题：
# 1. 如何打印（print）
# 2. 如何给变量赋值
# 3. 如何注释（comment）
# 4. 基础数学语法
# ------------------------------------------------------------------------------------------

# ------------------------------------------------------------------------------------------
# ## 如何打印（print）
#
# 在Julia中使用`println()`函数来打印（print）
# ------------------------------------------------------------------------------------------

println("I'm excited to learn Julia!")

# ------------------------------------------------------------------------------------------
# ## 如何给变量赋值
#
# 只需要变量名、变量值和一个等号！<br>
# Julia会自动判断类型。
# ------------------------------------------------------------------------------------------

my_answer = 42
typeof(my_answer)

my_pi = 3.14159
typeof(my_pi)

😺 = "开心的猫!"
typeof(😺)

# ------------------------------------------------------------------------------------------
# 要打出“开心的猫”，用tab键补全选择emoji的名字然后再按tab键即可
# ------------------------------------------------------------------------------------------

# \:smi + <tab> --> 上下键选定 + <enter> ---> <tab> + <enter> ---> 完成
# 即\:smile_cat: + <tab>

# ------------------------------------------------------------------------------------------
# 在给一个变量赋值后，可以给它重新赋任意类型的值而不会报错。
# ------------------------------------------------------------------------------------------

😺 = 1

typeof(😺)

# ------------------------------------------------------------------------------------------
# 注意：Julia允许用超广泛的字符，就比如😺
#
# 这就允许我们可以把代码写成这样：
# ------------------------------------------------------------------------------------------

😀 = 0
😞 = -1

😺 + 😞 == 😀

# ------------------------------------------------------------------------------------------
# ## 如何注释（comment）
# ------------------------------------------------------------------------------------------

# 单行注释用井号键（pound/hash key）

#=

多行注释，
用“#= =#”组合

=#

# ------------------------------------------------------------------------------------------
# ## 基础数学语法
# ------------------------------------------------------------------------------------------

sum = 3 + 7  # 加

difference = 10 - 3  # 减

product = 20 * 5  # 乘

quotient = 100 / 10  # 除

power = 10 ^ 2  # 乘方

modulus = 101 % 2  # 取余

# ------------------------------------------------------------------------------------------
# ### 练习
#
# #### 1.1
# 查看函数`convert`的帮助文档。
# ------------------------------------------------------------------------------------------



# ------------------------------------------------------------------------------------------
# #### 1.2
# 给变量`days`赋值`365`，将`days`转为浮点数（float）并将其赋值给变量`days_float`
# ------------------------------------------------------------------------------------------

days = 365
days_float = convert(Float64, days)

@assert days == 365
@assert days_float == 365.0


# ------------------------------------------------------------------------------------------
# #### 1.3
# 看看下面两个的区别
#
# ```julia
# convert(Int64, "1")
# ```
# 和
#
# ```julia
# parse(Int64, "1")
# ```
# ------------------------------------------------------------------------------------------



# ------------------------------------------------------------------------------------------
# 在完成练习后，请点击顶部的`Validate`。
# ------------------------------------------------------------------------------------------
